.TH SU 1 "GNU 쉘 유틸리티" "FSF" \" \-*\- nroff \-*\-
.SH 이름
su \- 사용자와 그룹 ID 를 교체하여 쉘을 실행한다
.SH 개요
.B su
[\-flmp] [\-c 명령] [\-s 쉘] [\-\-login] [\-\-fast]
[\-\-preserve\-environment] [\-\-command=명령] [\-\-shell=쉘] [\-]
[\-\-help] [\-\-version] [사용자 [인수...]]
.SH 설명
이 맨페이지는 GNU 버전의
.BR su 
를 설명한다.
.B su
는 한 사용자가 잠시 다른 사용자가 될 수 있도록 해준다.
실제 사용자 ID, 그룹 ID, USER의 보충적인 그룹으로 쉘을 실행한다.
USER가 주어지지 않으면 기본적으로 수퍼유저인 root 로 설정된다.
실행되는 쉘은 USER의 패스워드 목록에서 찾아오거나 없으면 /bin/sh 를 수행한다.
만약 USER에 패스워드가 있다면
.B su
는 실제 사용자 ID 0 (수퍼유저)가 아닌 한 패스워드를 물어온다.
.PP
기본적으로,
.B su
는 현재 디렉토리를 변경하지 않는다. USER 의 패스워드 항목으로부터 `HOME',
`SHELL' 등의 변수를 설정하고 만약 수퍼유저가 아니라면 `USER'와 `LOGNAME'을
USER로 설정한다. 기본적으로 이 쉘은 로그인 쉘이 아니다.
.PP
만약 한 개 이상의 인수가 주어지면 쉘에 대한 인수로 전달된다.
.PP
.B su
는 /bin/sh나 다른 쉘을 특별히 다루지는 않는다.
(argv[0]를 "\-su"로 하고 \-c 를 특정 쉘로 지정하지 않는 한... )
.PP
syslog를 가지고 있는 시스템에서는,
.B su
가 실패하는 경우 보고를 하도록, 그리고 성공의 경우에는 선택적으로 보고하도록
컴파일하면
.B su
가 syslog를 사용한다.
.SS 옵션
.TP
.I "\-c COMMAND, \-\-command=COMMAND"
대화형 쉘을 시작하지 않고 
.I \-c
옵션을 쉘에 주어서 한 개의 명령만을 수행하도록 한다.
.TP
.I "\-f, \-\-fast"
쉘에
.I \-f
옵션을 전달한다.
.B csh
와
.BR tcsh 
에만 해당되는 것으로서,
.I \-f
옵션은 시작 화일(.cshrc)를 읽지 않도록 한다. 본쉘의 경우,
.I \-f
옵션은 화일 패턴 확장을 불능으로 설정하는 것으로서 일반적으로 그렇게 하지
않는다.
.TP
.I "\-\-help"
표준출력으로 사용법을 출력하고 정상적으로 종료한다.
.TP
.I "\-, \-l, \-\-login"
쉘을 로그인 쉘로 만든다. 그 의미는 다음과 같다. `TERM', `HOME', `SHELL'
(위에서 설명) 그리고 `USER', `LOGNAME'(위에서 설명하였듯 수퍼유저라 할 지라도
설정된다)을 제외하고 나머지 환경 변수를 제거한다. 그리고 `PATH'를 컴파일 기본
설정값으로 설정한다. USER의 홈 디렉토리로 이동한다. 쉘 이름에 "\-" 를 추가하여
로그인 스크립트 화일들을 읽을 수 있게 할 수 있다.
.TP
.I "\-m, \-p, \-\-preserve\-environment"
`HOME', `USER', `LOGNAME', `SHELL' 등의 환경변수값을 변경하지 않는다.
만약 
.B su
를 실행하는 사용자가 수퍼유저이거나 사용자의 쉘이 제한된 쉘일 때는
\fI/etc/passwd\fR에 기재된 USER의 쉘이 아니라 `SHELL' 환경변수에 설정된 쉘을
실행한다.
제한된 쉘이란 /etc/shells에 등록되어 있지 않거나 /etc/shells 화일이 존재하지
않을 때 내장 컴파일된 목록에 들어있지 않는 경우를 말한다.
이 옵션의 일부는 다음
.I \-\-login
과
.IR \-\-shell 
옵션에 의해 무시될 수 있다.
.TP
.I "\-s, \-\-shell shell"
.B su
를 실행하는 사용자가 수퍼유저가 아니거나 사용자의 쉘이 제한된 쉘일 때는
\fI/etc/passwd\fR에 등록된 USER의 쉘을 수행하지 않고 지정한 쉘을 수행한다.
.TP
.I "\-\-version"
표준출력으로 버전정보를 출력하고 정상적으로 종료한다.
